package com.akcome.apollo.domain;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;

/**
 * 通知配置
 *
 * @author wn
 * @version $v: 1.0.0, $time:2017-12-26 08:49:00 Exp $
 */
@Entity
@Table(name = "bmp_notice_config")
public class BmpNoticeConfig implements Serializable {

    /** 主键 **/
    private Long id;

    /** 账户ID **/
    private Long accountId;

    /** 推送邮箱(多个以,隔开) **/
    private String email;

    /** 推送手机(多个以,隔开) **/
    private String mobile;

    /** 每天提醒次数 **/
    private Long noticeCount;

    /** 提醒时间间隔(秒) **/
    private Long noticeInterval;

    /** 算力变化开关 **/
    private String speedChange;

    /** 算力变化值% **/
    private Double speedChangeValue;

    /** 算力最小值开关 **/
    private String speedMin;

    /** 算力最小值 **/
    private Double speedMinValue;

    /** 算力最大值开关 **/
    private String speedMax;

    /** 算力最大值 **/
    private Double speedMaxValue;

    /** 有效矿工数变化开关 **/
    private String workerActive;

    /** 有效矿工数变化百分比% **/
    private Double workerActiveValue;

    /** 有效矿工数最小值开关 **/
    private String workerActiveMin;

    /** 有效矿工数最小值 **/
    private Long workerActiveMinValue;

    /** 有效矿工数最大值开关 **/
    private String workerActiveMax;

    /** 有效矿工数最大值 **/
    private Long workerActiveMaxValue;

    /** 创建时间 **/
    private Date createTime;


    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(name = "account_id", length = 11)
    public Long getAccountId() {
        return accountId;
    }

    public void setAccountId(Long accountId) {
        this.accountId = accountId;
    }

    @Column(name = "email", length = 500)
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Column(name = "mobile", length = 200)
    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    @Column(name = "notice_count", length = 11)
    public Long getNoticeCount() {
        return noticeCount;
    }

    public void setNoticeCount(Long noticeCount) {
        this.noticeCount = noticeCount;
    }

    @Column(name = "notice_interval", length = 11)
    public Long getNoticeInterval() {
        return noticeInterval;
    }

    public void setNoticeInterval(Long noticeInterval) {
        this.noticeInterval = noticeInterval;
    }

    @Column(name = "speed_change", length = 1)
    public String getSpeedChange() {
        return speedChange;
    }

    public void setSpeedChange(String speedChange) {
        this.speedChange = speedChange;
    }

    @Column(name = "speed_change_value", precision = 15, scale = 4)
    public Double getSpeedChangeValue() {
        return speedChangeValue;
    }

    public void setSpeedChangeValue(Double speedChangeValue) {
        this.speedChangeValue = speedChangeValue;
    }

    @Column(name = "speed_min", length = 1)
    public String getSpeedMin() {
        return speedMin;
    }

    public void setSpeedMin(String speedMin) {
        this.speedMin = speedMin;
    }

    @Column(name = "speed_min_value", precision = 35, scale = 15)
    public Double getSpeedMinValue() {
        return speedMinValue;
    }

    public void setSpeedMinValue(Double speedMinValue) {
        this.speedMinValue = speedMinValue;
    }

    @Column(name = "speed_max", length = 1)
    public String getSpeedMax() {
        return speedMax;
    }

    public void setSpeedMax(String speedMax) {
        this.speedMax = speedMax;
    }

    @Column(name = "speed_max_value", precision = 35, scale = 15)
    public Double getSpeedMaxValue() {
        return speedMaxValue;
    }

    public void setSpeedMaxValue(Double speedMaxValue) {
        this.speedMaxValue = speedMaxValue;
    }

    @Column(name = "worker_active", length = 1)
    public String getWorkerActive() {
        return workerActive;
    }

    public void setWorkerActive(String workerActive) {
        this.workerActive = workerActive;
    }

    @Column(name = "worker_active_value", precision = 15, scale = 4)
    public Double getWorkerActiveValue() {
        return workerActiveValue;
    }

    public void setWorkerActiveValue(Double workerActiveValue) {
        this.workerActiveValue = workerActiveValue;
    }

    @Column(name = "worker_active_min", length = 1)
    public String getWorkerActiveMin() {
        return workerActiveMin;
    }

    public void setWorkerActiveMin(String workerActiveMin) {
        this.workerActiveMin = workerActiveMin;
    }

    @Column(name = "worker_active_min_value", length = 11)
    public Long getWorkerActiveMinValue() {
        return workerActiveMinValue;
    }

    public void setWorkerActiveMinValue(Long workerActiveMinValue) {
        this.workerActiveMinValue = workerActiveMinValue;
    }

    @Column(name = "worker_active_max", length = 1)
    public String getWorkerActiveMax() {
        return workerActiveMax;
    }

    public void setWorkerActiveMax(String workerActiveMax) {
        this.workerActiveMax = workerActiveMax;
    }

    @Column(name = "worker_active_max_value", length = 11)
    public Long getWorkerActiveMaxValue() {
        return workerActiveMaxValue;
    }

    public void setWorkerActiveMaxValue(Long workerActiveMaxValue) {
        this.workerActiveMaxValue = workerActiveMaxValue;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

}
